//===================================================================================
// Position's Form Model
//
// Coder: Code Milker v1.0
// 0 - EntityName
// 1 - Properties
//===================================================================================

namespace App.Web.Models {
    using System;
    using System.ComponentModel.DataAnnotations;
    using App.Domain.Contracts;

    public class PositionFormModel : ICreatePositionCommand {
        ///<summary>
        /// 
        ///</summary>
        public Guid Id { get; set; }

        ///<summary>
        /// 
        ///</summary>
        public string JobTitle { get; set; }

        ///<summary>
        /// 仅保存第二级
        ///</summary>
        public int CategoryCode { get; set; }

        ///<summary>
        /// 
        ///</summary>
        public string JobNumber { get; set; }

        ///<summary>
        /// 
        ///</summary>
        public string Department { get; set; }

        ///<summary>
        /// 
        ///</summary>
        public string Responsibilities { get; set; }

        ///<summary>
        /// 
        ///</summary>
        public int PositionTypeCode { get; set; }

        ///<summary>
        /// 
        ///</summary>
        public string Qualifications { get; set; }

        ///<summary>
        /// Location
        ///</summary>
        public int ProvinceCode { get; set; }

        ///<summary>
        /// Location
        ///</summary>
        public int CityCode { get; set; }

        ///<summary>
        /// Location
        ///</summary>
        public string Zip { get; set; }

        ///<summary>
        /// 
        ///</summary>
        public int YearsExperienceCode { get; set; }

        ///<summary>
        /// 
        ///</summary>
        public int EducationLevelCode { get; set; }

        ///<summary>
        /// 
        ///</summary>
        public int? GenderCode { get; set; }

        ///<summary>
        /// 
        ///</summary>
        public int? AgeMax { get; set; }

        ///<summary>
        /// 
        ///</summary>
        public int? AgeMin { get; set; }

        ///<summary>
        /// 
        ///</summary>
        public int? LanguageCode { get; set; }

        ///<summary>
        /// 
        ///</summary>
        public int? LangudageLevelCode { get; set; }

        ///<summary>
        /// 用于薪资调查？
        ///</summary>
        public int? MonthlyPay { get; set; }

        ///<summary>
        /// 用于薪资调查？
        ///</summary>
        public int? AnnualPay { get; set; }

        ///<summary>
        /// 
        ///</summary>
        public string WorkingHours { get; set; }

        ///<summary>
        /// 说明薪资组成 范围
        ///</summary>
        public string Payment { get; set; }

        ///<summary>
        /// 
        ///</summary>
        public string Welfare { get; set; }

        ///<summary>
        /// 
        ///</summary>
        public string Vacation { get; set; }

        ///<summary>
        /// 需求人数；填写最大数
        ///</summary>
        public int Candidates { get; set; }

        ///<summary>
        /// 
        ///</summary>
        public int? RequiredTravelCode { get; set; }

        ///<summary>
        /// 
        ///</summary>
        public bool? IsTelecommuting { get; set; }

        ///<summary>
        /// 从发布日起
        ///</summary>
        public DateTime StartDate { get; set; }

        ///<summary>
        /// 作为刷新时间，在有效期内间隔24小时发布；对外作为发布时间显示；RepostDate>StartDate ? RepostDate : StartDate
        ///</summary>
        public DateTime? RepostDate { get; set; }

        ///<summary>
        /// 截止日止
        ///</summary>
        public DateTime EndDate { get; set; }

        ///<summary>
        /// 
        ///</summary>
        public int Status { get; set; }

        ///<summary>
        /// 0-Apply-to Email;1-Apply-to URL;2-Site Application Tracking。仅2
        ///</summary>
        public int ApplicationMethod { get; set; }

        ///<summary>
        /// 
        ///</summary>
        public string ApplytoEmail { get; set; }

        ///<summary>
        /// 
        ///</summary>
        public string ApplytoURL { get; set; }

        ///<summary>
        /// 
        ///</summary>
        public string SelectProcess { get; set; }

        ///<summary>
        /// 默认为公司地址，可以为空；电话等不能出现
        ///</summary>
        public string Place { get; set; }

        ///<summary>
        /// 
        ///</summary>
        public string Scout { get; set; }

        ///<summary>
        /// 是否允许毕业生投递
        ///</summary>
        public bool? ApplyByGraduate { get; set; }

        ///<summary>
        /// 劳动局相关；专门的TAB;是否允许交换到第三方
        ///</summary>
        public bool? IsExchange { get; set; }

        ///<summary>
        /// 
        ///</summary>
        public int? Clicks { get; set; }

        ///<summary>
        /// 
        ///</summary>
        public int? Searches { get; set; }

        ///<summary>
        /// 
        ///</summary>
        public int? Applies { get; set; }

        ///<summary>
        /// 
        ///</summary>
        public Guid RecruiterId { get; set; }

        ///<summary>
        /// 
        ///</summary>
        public Guid CompanyId { get; set; }

        ///<summary>
        /// 对应招聘会职位
        ///</summary>
        public Guid? FairId { get; set; }

        ///<summary>
        /// 
        ///</summary>
        public Guid? BoothId { get; set; }

        ///<summary>
        /// 
        ///</summary>
        public DateTime DateCreated { get; set; }

        ///<summary>
        /// 
        ///</summary>
        public DateTime LastUpdate { get; set; }


    }
}
